package com.falcon.core.service;

import com.falcon.core.domain.AbsPageQuery;
import com.falcon.core.domain.BasePager;
import com.falcon.core.domain.BaseRequest;
import com.swan.mybatis.mapper.mapper.IBaseMapper;

import java.util.List;

public interface IBaseService<E> {

    Long save(BaseRequest request);

    Boolean update(Long id, BaseRequest request);

    Boolean deleteById(Long id);

    E queryById(Long id);

    List<E> queryList(AbsPageQuery request);

    BasePager<E> queryPager(AbsPageQuery request);

    int batchDelete(List<Long> ids);

    IBaseMapper<Long, E> getMapper();

}
